<?php

/**
 * Kryteria wyszukiwania użytkowników
 * @author Anna Rybka
 *
 */
class UserSearchControls {
	
	private $name;
	private $service;
	private $ticket;
	private $paymentProblem;
	private $role;
	private $id;
	
	
	function __construct() {
		$this->name = null;
		$this->service = null;
		$this->ticket = null;
		$this->paymentProblem = null;
		$this->role = UserRoles::DEFAULT_ROLE;
		$this->id = null;
	
	}
		
	/**
	 * Czy posiada wykupione usługi
	 * @param $flag flaga określająca
	 */
	public function hasService($flag) {
		$this->service = $flag;
	}
	
	/**
	 * Czy zgłaszał problemy do usług 
	 * @param $flag flaga określająca
	 */
	public function hasTicket($flag) {
		$this->ticket = $flag;
	}
	
	/**
	 * Czy ma problemy finansowe
	 */
	public function hasPaymentProblem($flag) {
		$this->paymentProblem = $flag;
	}
	
	/**
	 * Metoda ustawia nazwę użytkownika
	 * @param $name nazwa użytkownika
	 */
	public function setName($name) {
		$this->name = $name;
	}
	
	/**
	 * Metoda zwraca nazwę użytkownika
	 * @return the $name nazwa użytkownika
	 */
	public function getName() {
		return $this->name;
	}
	
	/**
	 * Metoda ustawia role użytkownika
	 * @param $role role użytkownika
	 */
	function setRole($role) {
		$this->role = $role;
	}
	
	/**
	 * Metoda zwraca role użytkownika
	 * @return rola użytkownika
	 */
	function getRole() {
		return $this->role;
	}
	
	/**
	 * Metoda zwraca flagę mówiącą czy użytkownik zgłosił uwagi do swoich usług
	 * @return czy użytkownik zgłosił uwagi do swoich usług
	 */
	function isTicket() {
		return $this->ticket;
	}
	
	/**
	 * Metoda zwraca flagę mówiącą czy użytkownik posiada wykupione usługi
	 * @return czy użytkownik posiada wykupione usługi
	 */
	function isService() {
		return $this->service;
	}
	
	/**
	 * Metoda zwraca flagę mówiącą  czy użytkownik posiada problemy z płatnościami
	 * @return czy użytkownik posiada problemy z płatnościami
	 */
	function isPaymentProblem() {
		return $this->paymentProblem;
	}
	
	/**
	 * Metoda ustawia id użytkownika
	 * @param $id id użytkownika
	 */
	function setId($id) {
		$this->id = $id;
	}
	
	/**
	 * Metoda zwraca id użytkownika
	 * @return id użytkownika
	 */
	function getId() {
		return $this->id;
	}
}
?>